#pragma once
#include <string>
//#include "../Graphic/GraphicManager.cpp"

enum eOrientation 
{
  eO_Over = 0,
  eO_North,
  eO_NorthEast,
  eO_East,
  eO_SouthEast,
  eO_South,
  eO_SouthWest,
  eO_West,
  eO_NorthWest,

};

  
class cObject
{
  public:
    inline unsigned GetX()            {return muiX;}
    inline unsigned GetY()            {return muiY;}
    inline void SetX(unsigned luiX)   {muiX = luiX;}
    inline void SetY(unsigned luiY)   {muiY = luiY;}
    inline std::string GetName()           {return macName;}
    inline void SetName(const std::string &lacName) {macName = lacName;}
    inline void SetSymbol(char lcSymbol) {mcSymbol = lcSymbol;}
    inline char GetSymbol()           {return mcSymbol;}
    inline void SetType(int liType) {miType = liType;}
    inline int GetType()           {return miType;}
    eOrientation GetOrientation(unsigned luiX, unsigned luiY);
    float GetDistance(unsigned luiX, unsigned luiY);

    virtual void Update(float lfTimeStep) { ; }
    virtual void Render();
  protected: 
    std::string macName;
    unsigned muiX;
    unsigned muiY;
    char mcSymbol;
    int miType;
};
